package com.ssy.lingxi.report.service.tally;

import com.ssy.lingxi.report.api.vo.request.OperateNoticeVO;
import com.ssy.lingxi.report.entity.report.MemberTallyReportDO;
import com.ssy.lingxi.report.model.bo.MemberTallyReportBO;
import com.ssy.lingxi.report.model.bo.tally.CommodityTallyBO;
import com.ssy.lingxi.report.model.vo.response.CommodityTallyReportVO;

import java.util.List;

/**
 * 商品中心计数统计接口定义
 * @author 伍将
 * @date 2020/11/23
 * @version 2.0.0
 */
public interface ICommodityTallyService {

    /**
     * 设置商品中心数据
     * @param tallyReportO 理货报告
     * @param noticeVO 操着通知
     * @return 商品中心数据
     */
    MemberTallyReportBO setCommodityTally(MemberTallyReportBO tallyReportO, OperateNoticeVO noticeVO);

    /**
     * 转换商品中心数据
     * @param reportDO 商品处理
     * @return 商品中心数据
     */
    CommodityTallyReportVO convertCommodityTally(CommodityTallyBO reportDO);

    /**
     * 统计计数
     * @param reportList 会员理货报告列表
     * @return 统计计数
     */
    List<MemberTallyReportDO> statisticsTally(List<MemberTallyReportDO> reportList);
}
